<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>计算机视觉实战演练：算法与应用🌱</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta name="description" content="Description">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

  <link rel="shortcut icon" type="image/x-icon" href="https://raw.githubusercontent.com/Charmve/computer-vision-in-action/main/res/ui/favicon.ico" media="screen" />
  <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css">
  <link rel="stylesheet" href="//unpkg.com/gitalk/dist/gitalk.css">

  <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css"/>
  <link 
    rel="stylesheet"
    href="//cdn.jsdelivr.net/npm/docsify-darklight-theme@latest/dist/style.min.css"
    title="docsify-darklight-theme"
    type="text/css"
  />
  
  <!---
  <!-- Adsense 资源投放 --
  <script data-ad-client="ca-pub-1890271224952559" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  <!-- 谷歌站点收录 --
  <meta name="google-site-verification" content="qTFCf1hJ275saQ7H1kin5t2DVpznBKAj0Gi50XMOVMo" />
  <!-- 百度站点收录--
  <meta name="baidu-site-verification" content="SZyWUIzWiU" />
  --->

  <!-- Google Analytics -->
  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-46895817-2', 'auto');
  ga('send', 'pageview');
  </script>

  <style>
    .katex-display > .katex {
      max-width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
    }
  </style>
  <style>
      nav.app-nav li ul {
        min-width: 100px;
      }
      .app-nav{
        position: fixed;
        margin: 0;
        padding: 10px 50px 10px 0; /*上、右、下、左*/
        /*padding: 10px 0 10px 0;*/
        width: calc(100% - 325px);
        background-color: transparent;
        height: 55px;
        /* border-bottom: 1px solid #eee; */
      }

      #carbonads {
        box-shadow: none !important;
        width: auto !important;
      }
  </style>
  <style>
  /*滚动条样式 start*/
    /* 滚动条宽度 */
    ::-webkit-scrollbar{width:5px;}
    /* 滚动条颜色 */
    ::-webkit-scrollbar-thumb{
      background: #33a9dc;
      background-image: linear-gradient(#6ecd56, #33a9dc, #cb6196, #c16290);
      border-radius: 3em;
    }
  </style>
  <style>
    #docsify-darklight-theme {
      position: absolute;
      left: 10px;
      top: 2px;
      width: 25px;
      height: 25px;
      background-repeat: no-repeat;
      background-image: var(--toogleImage);
      background-size: cover;
      cursor: pointer;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      transition: background-image .15s ease-in-out .15s
    }
  </style>
</head>

<body>
  <div id="app">🏃‍🏃‍🏃‍💨 加载中...</div>
  <script src="//cdn.jsdelivr.net/npm/docsify-plugin-carbon@1/index.js"></script>
     
  <script>
    var gitalkConfig = {
      clientID: 'c41595e0999dd2834af4',
      clientSecret: '4ad47f16f60a04c2870a1939406a6ad87bf219ec',
      accessToken: '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',
      repo: 'computer-vision-in-action',
      owner: 'Charmve',
      admin: ['Charmve'],
      id: location.pathname,      // Ensure uniqueness and length less than 50
      distractionFreeMode: false // Facebook-like distraction free mode
    };
     
    window.$docsify = {
      name: '计算机视觉实战演练 L0CV',
      // nameLink: 'https://charmve.github.io/L0CV-web/',
      loadSidebar: true,
      maxLevel: 4, // 默认情况下会抓取文档中所有标题渲染成目录，可配置最大支持渲染的标题层级。
      subMaxLevel: 2, // 生成目录的最大层级
      auto2top: true,
      alias: { // 定义路由别名，可以更自由的定义路由规则。 支持正则
        '/.*/_sidebar.md': '/_sidebar.md',//防止意外回退
        '/.*/_navbar.md': '/_navbar.md'
      },
      loadNavbar: true,//_navbar.md如果为真，则从_navbar.md文件加载navbar ，否则从指定的路径加载
      mergeNavbar: true,//Navbar将在小屏幕上与侧边栏合并
      coverpage: true,
      onlyCover: true,
      topMargin: 60,//调整top
      repo: 'https://github.com/Charmve/computer-vision-in-action',
      externalLinkTarget: '_blank', //外链打开方式：_blank表示在新标签页中打开
      search: {
        paths: 'auto',
        placeholder: {
          '/zh-cn/': '🔍 搜索',
          '/': '🔍 Type to search'
        },
        noData: {
          '/zh-cn/': '😒 换一个关键词试试',
          '/': '😒 Try with an other word'
        },
        // Headline depth, 1 - 6
        depth: 6,
        maxAge: 86400000, // 过期时间，单位毫秒，默认一天
      },//添加搜索框
      pagination: {
        previousText: 'PREVIOUS',
        nextText: 'NEXT',
        crossChapter: true
      },
      ga: 'UA-164658031-2',// 谷歌分析 SEO
      
      footer: {
        copy: '<iframe src="https://charmve.github.io/sponsor_files/index.html" style="overflow-x:hidden;overflow-y:hidden; min-height:240px; width:100%;" frameborder="0" scrolling="no"></iframe><br/><span id="sitetime"></span><br/><span>Copyright &copy; 2021 - 至今</span>',
        pre: '<hr/>',
        style: 'text-align: left;',
      },//添加页脚
      
      plugins: [
        /* DocsifyCarbon.create('CEBI6KQE', 'docsifyjsorg'),  //标题下的广告 */

        function(hook, vm) {
          hook.beforeEach(function (html) {
            var url = 'https://github.com//Charmve/computer-vision-in-action/blob/main/docs/' + vm.route.file
            var editHtml = '[:memo: Edit Document](' + url + ')\n'
            return html
              + '\n----\n'
              + 'Last modified {docsify-updated} '
              + editHtml
          });
          hook.doneEach(function() {
            var label_comp, label, domObj, main, divEle, gitalk;
            label_comp = vm.route.path.split("/").pop();
            label = decodeURI(label_comp);
            domObj = Docsify.dom;
            main = domObj.getNode("#main");

            Array.apply(
              null,
              document.querySelectorAll("div.gitalk-container")
            ).forEach(function(ele) {
              ele.remove();
            });

            divEle = domObj.create("div");
            divEle.id = "gitalk-container-" + label;
            divEle.className = "gitalk-container";
            divEle.style = "width: " + main.clientWidth + "px; margin: 0 auto 20px;";
            domObj.appendTo(domObj.find(".content"), divEle);
            gitalk = new Gitalk(
              Object.assign(gitalkConfig, { id: !label ? "home" : label })
            );
            gitalk.render("gitalk-container-" + label);
          });
        }
      ],
    };
  </script>
  
  <script src="//unpkg.com/docsify/lib/plugins/ga.min.js"></script>
  <script src="//unpkg.com/prismjs/components/prism-bash.min.js"></script>
  <script src="//unpkg.com/prismjs/components/prism-markdown.min.js"></script>
  <script src="//unpkg.com/prismjs/components/prism-nginx.min.js"></script>
  
  <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
  
  <!-- 翻页插件-->
  <script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
  
  <!-- 支持 LaTex 语言 -->
  <script src="//cdn.jsdelivr.net/npm/docsify-katex@latest/dist/docsify-katex.js"></script>

  <!-- full text search -->
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
  
  <!-- Copy to Clipboard -->
  <script src="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>

  <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/external-script.min.js"></script>
  
  <!-- gitalk 
  <script src="//unpkg.com/docsify/lib/plugins/gitalk.min.js"></script>-->
  <script src="//unpkg.com/gitalk/dist/gitalk.min.js"></script>
  
  <!-- 字数统计 -->
  <script src="//unpkg.com/docsify-count/dist/countable.js"></script>

  <!-- 放大图片-->
  <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
  
  <!-- 访问量统计 -->
  <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
  
<!--   <script>
    const gitalk = new Gitalk({
      id: decodeURI('{{ page.url }}'),
      clientID: 'c41595e0999dd2834af4',
      clientSecret: '4ad47f16f60a04c2870a1939406a6ad87bf219ec',
      repo: 'computer-vision-in-action',
      owner: 'Charmve',
      admin: ['Charmve'],
      // 每个网页独立的gitalk
      //title: location.hash.match(/#(.*?)([?]|$)/)[1],
      //id: location.hash.match(/#(.*?)([?]|$)/)[1],
      // facebook-like distraction free mode
      labels: ['Gitalk'],
      perPage: 50,
      distractionFreeMode: false
    })
    // 监听URL中hash的变化，如果发现换了一个MD文件，那么刷新页面，解决整个网站使用一个gitalk评论issues的问题。
    window.onhashchange = function(event){
      if(event.newURL.split('#')[0] !== event.oldURL.split('#')[0]) {
        location.reload()
      }
    }
    // 由于docsify/lib/plugins/gitalk.min.js文件中已经有下面代码了，所以不需要在写一次了
    // gitalk.render('gitalk-container')
  </script> -->
  
  <!-- alert 样式 -->
  <link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css" type='text/css' media='all' />
  <!-- 复制提醒 -->
  <script src="https://cdn.jsdelivr.net/gh/wugenqiang/NoteBook@master/plugin/sweetalert.min.js"></script>
  <script>
    document.body.oncopy = function () {
     swal("复制成功 🎉",
          "若要转载或引用请务必保留原文链接，并申明来源。如果你觉得本仓库不错，那就来 <a href=\"https://github.com/Charmve/computer-vision-in-action\">GitHub</a> 给个 Star 吧 😊   - by Charmve",
          "success"); };
  </script>

  <!-- 
  <!-- 回到顶部功能 
  <script src="https://cdn.jsdelivr.net/gh/wugenqiang/NoteBook@master/plugin/jquery.js"></script>
  <script src="https://cdn.jsdelivr.net/gh/wugenqiang/NoteBook@master/plugin/jquery.goup.js"></script>
  <script type="text/javascript">
    $(document).ready(function () {
      $.goup({
        trigger: 100,
        bottomOffset: 52,
        locationOffset: 25,
        title: 'TOP',
        titleAsText: true
      });
    });
  </script>
  -->

  <!-- 
  <!--使用 Gitter 实现一个 IM 即时通讯聊天室功能
  <script>
    ((window.gitter = {}).chat = {}).options = {
      room: 'L0CV/community'
    };
  </script>
  <script src="https://cdn.jsdelivr.net/gh/wugenqiang/NoteBook@master/plugin/sidecar.v1.js" async defer></script>
  -->

  <!-- 右下角添加 live2d -->
  <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>
  <script>
    L2Dwidget.init({
      "model": {
        //jsonpath控制显示那个小萝莉模型，
        //(切换模型需要改动)
        jsonPath: "https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json",
        "scale": 1
      },
      "display": {
        "position": "right", //看板娘的表现位置
        "width": 70,  //小萝莉的宽度
        "height": 140, //小萝莉的高度
        "hOffset": 35,
        "vOffset": -20
      },
      "mobile": {
        "show": true,
        "scale": 0.5
      },
      "react": {
        "opacityDefault": 0.7,
        "opacityOnHover": 0.2
      }
    });
  </script>
  
  <!-- 谷歌分析 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/ga.min.js"></script>

  <!-- 实现离线化 -->
  <script>
    if (typeof navigator.serviceWorker !== 'undefined') {
      navigator.serviceWorker.register('pwa.js')
    }
  </script>

  <script src="//cdn.jsdelivr.net/npm/docsify-darklight-theme@latest/dist/index.min.js" type="text/javascript"></script>

  <!-- json 颜色显示 -->
  <script src="//unpkg.com/prismjs/components/prism-python.js"></script>
  <script src="//unpkg.com/docsify-copy-code"></script>
</body>
</html>
